package ru.iteco.Java.study.MSGR;

import java.util.ArrayList;
import java.util.List;
import java.util.NoSuchElementException;
import javax.swing.JOptionPane;


/**
 * ConnectionList - реализует список активных соединений
 * и управление ими
 */
public class ConnectionList {
	public ConnectionList()
	{
		lst=new ArrayList<Connection>();
	}
	
	public void add(Connection c)
	{
		lst.add(c);
	}
	
	public void discard(int i) throws NoSuchElementException
	{
		lst.remove(i);
	}
	
	public void discardByLogin(String login) throws NoSuchElementException
	{
		int id=getIdByLogin(login);
		if(id<0)
		{
			JOptionPane.showMessageDialog(null, "Не найдено!", 
					"ConnectionList.discardByLogin()", JOptionPane.ERROR_MESSAGE);
			return;
		}
		lst.remove(id);
		JOptionPane.showMessageDialog(null, "Связь с пользователем "+login+" отключена.");
	}

	public Connection get(int i)
	{
		return lst.get(i);
	}
	
	public int getIdByLogin(String login)
	{
		for(int i = 0;i<lst.size();i++)
		{
			if(lst.get(i).getLogin()==login)
				return i;
		}
		return -1;
		
	}
	
	public int getIdByIP(String ip) 
	{
		for(int i = 0;i<lst.size();i++)
		{
			if(lst.get(i).getIP()==ip)
				return i;
		}
		return -1;
	}
	
	List<Connection> lst;//список соединений
}
